Python测试不同Excel库的处理速度 您所在的位置:网站首页 python excel处理库 Python测试不同Excel库的处理速度

Python测试不同Excel库的处理速度

2023-09-13 23:13| 来源: 网络整理| 查看: 265

不同的库操作Excel速度测试,通过读取大文件的方式进行对比测试: openxl_time wirte 打开文件: 17.1607027053833 按照单元格遍历程序结束: 17.16170334815979 打开文件很慢,但是遍历单元格很快 openxl_time read 打开文件: 5.658100128173828 按照单元格遍历程序结束: 13.714594841003418 只读方式打开,速度快,但是单元格遍历很慢 xlrd 打开文件: 3.691128969192505 按照单元格遍历程序结束: 3.691128969192505 打开和遍历单元格速度都很快,单元格遍历的速度超快 xlwings 打开文件: 15.296140670776367 按照单元格遍历程序结束: 16.813084602355957 打开文件慢,需要打开Excel程序,但是遍历速度快 xlwings 文件已经打开,其打开文件慢,如果已经打开文件,速度很快 打开文件: 0.1026921272277832 按照单元格遍历程序结束: 1.0002880096435547 如果文件是打开的,速度超快

import xlrd from openpyxl import load_workbook import time import xlwings as xw1 file_name = "" sheet_name ="" def xlrd_time(): start = time.time() print("xlrd") wb=xlrd.open_workbook(file_name) print("打开文件:", time.time() - start) sheet=wb.sheet_by_name(sheet_name) for row in range(2, 20): i=1 for i in range(1, 10): value = sheet.cell(row, i).value # print(value) i = i + 1 print("按照单元格遍历程序结束:",time.time()-start) def openxl_time(): start = time.time() print("openxl_time") wb = load_workbook(file_name, read_only=True) print("打开文件:",time.time()-start) sheet= wb[sheet_name] for row in range(2, 20): i=1 for i in range(1, 10): value = sheet.cell(row, i).value # 单元格读取速度很慢。read_only=True 非只读打开打开文件慢,但是遍历很快 # print(value) i = i + 1 print("按照单元格遍历程序结束:",time.time()-start) def openxl_time_w(): start = time.time() print("openxl_time wirte") wb = load_workbook(file_name) print("打开文件:",time.time()-start) sheet= wb[sheet_name] for row in range(2, 20): i=1 for i in range(1, 10): value = sheet.cell(row, i).value # 单元格读取速度很慢。read_only=True 非只读打开打开文件慢,但是遍历很快 # print(value) i = i + 1 print("按照单元格遍历程序结束:",time.time()-start) def xlwings_time(): start = time.time() print("xlwings") wb=xw1.Book( file_name) print("打开文件:", time.time() - start) sheet=wb.sheets(sheet_name) for row in range(2, 20): i=1 for i in range(1, 10): value = sheet.range(row, i).value # 文件如果是打开的,速度飞快 # print(value) i = i + 1 print("按照单元格遍历程序结束:",time.time()-start) openxl_time_w() openxl_time() xlrd_time() xlwings_time()

逐个单元格读取数据的方式,建议采用xlrd读取数据。 如果基于模版生成Excel,建议采用openxl 如果是打开文件进行处理,可以借助VBA操作,建议采用xlwings



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有